#include <hxcpp.h>

#ifndef INCLUDED_haxe_Public
#include <haxe/Public.h>
#endif
#ifndef INCLUDED_jax_JAttribute
#include <jax/JAttribute.h>
#endif
#ifndef INCLUDED_jax_JCode
#include <jax/JCode.h>
#endif
namespace jax{

::jax::JAttribute  JAttribute_obj::Code(::jax::JCode c)
	{ return hx::CreateEnum< JAttribute_obj >(HX_CSTRING("Code"),0,hx::DynamicArray(0,1).Add(c)); }

::jax::JAttribute JAttribute_obj::ConstantValue;

::jax::JAttribute JAttribute_obj::Exceptions;

::jax::JAttribute JAttribute_obj::InnerClasses;

::jax::JAttribute  JAttribute_obj::SourceFile(::String s)
	{ return hx::CreateEnum< JAttribute_obj >(HX_CSTRING("SourceFile"),5,hx::DynamicArray(0,1).Add(s)); }

::jax::JAttribute JAttribute_obj::Synthetic;

HX_DEFINE_CREATE_ENUM(JAttribute_obj)

int JAttribute_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("Code")) return 0;
	if (inName==HX_CSTRING("ConstantValue")) return 2;
	if (inName==HX_CSTRING("Exceptions")) return 1;
	if (inName==HX_CSTRING("InnerClasses")) return 4;
	if (inName==HX_CSTRING("SourceFile")) return 5;
	if (inName==HX_CSTRING("Synthetic")) return 3;
	return super::__FindIndex(inName);
}

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JAttribute_obj,Code,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JAttribute_obj,SourceFile,return)

int JAttribute_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("Code")) return 1;
	if (inName==HX_CSTRING("ConstantValue")) return 0;
	if (inName==HX_CSTRING("Exceptions")) return 0;
	if (inName==HX_CSTRING("InnerClasses")) return 0;
	if (inName==HX_CSTRING("SourceFile")) return 1;
	if (inName==HX_CSTRING("Synthetic")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic JAttribute_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("Code")) return Code_dyn();
	if (inName==HX_CSTRING("ConstantValue")) return ConstantValue;
	if (inName==HX_CSTRING("Exceptions")) return Exceptions;
	if (inName==HX_CSTRING("InnerClasses")) return InnerClasses;
	if (inName==HX_CSTRING("SourceFile")) return SourceFile_dyn();
	if (inName==HX_CSTRING("Synthetic")) return Synthetic;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("Code"),
	HX_CSTRING("Exceptions"),
	HX_CSTRING("ConstantValue"),
	HX_CSTRING("Synthetic"),
	HX_CSTRING("InnerClasses"),
	HX_CSTRING("SourceFile"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(JAttribute_obj::ConstantValue,"ConstantValue");
	HX_MARK_MEMBER_NAME(JAttribute_obj::Exceptions,"Exceptions");
	HX_MARK_MEMBER_NAME(JAttribute_obj::InnerClasses,"InnerClasses");
	HX_MARK_MEMBER_NAME(JAttribute_obj::Synthetic,"Synthetic");
};

static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JAttribute_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(JAttribute_obj::ConstantValue,"ConstantValue");
	HX_VISIT_MEMBER_NAME(JAttribute_obj::Exceptions,"Exceptions");
	HX_VISIT_MEMBER_NAME(JAttribute_obj::InnerClasses,"InnerClasses");
	HX_VISIT_MEMBER_NAME(JAttribute_obj::Synthetic,"Synthetic");
};

static ::String sMemberFields[] = { ::String(null()) };
Class JAttribute_obj::__mClass;

Dynamic __Create_JAttribute_obj() { return new JAttribute_obj; }

void JAttribute_obj::__register()
{

Static(__mClass) = hx::RegisterClass(HX_CSTRING("jax.JAttribute"), hx::TCanCast< JAttribute_obj >,sStaticFields,sMemberFields,
	&__Create_JAttribute_obj, &__Create,
	&super::__SGetClass(), &CreateJAttribute_obj, sMarkStatics, sVisitStatic);
}

void JAttribute_obj::__boot()
{
Static(ConstantValue) = hx::CreateEnum< JAttribute_obj >(HX_CSTRING("ConstantValue"),2);
Static(Exceptions) = hx::CreateEnum< JAttribute_obj >(HX_CSTRING("Exceptions"),1);
Static(InnerClasses) = hx::CreateEnum< JAttribute_obj >(HX_CSTRING("InnerClasses"),4);
Static(Synthetic) = hx::CreateEnum< JAttribute_obj >(HX_CSTRING("Synthetic"),3);
}


} // end namespace jax
